package fr.futsal.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import fr.futsal.domaine.Equipe;
import fr.futsal.domaine.Joueur;

public class JoueurDAOImpl implements JoueurDAO {
	
	private Connection connectionDataSource;

	public JoueurDAOImpl(Connection connectionDataSource) {
		super();
		this.connectionDataSource = connectionDataSource;
	}
	
	
	@Override
	public List<Joueur> collecteJoueur(String nomEquipe) {
		// TODO Auto-generated method stub
		List<Joueur> ListeJoueur = new ArrayList<Joueur>();

		try {
			// connection
			Statement statement = connectionDataSource.createStatement();

			// resultat
			ResultSet resultat = statement
					.executeQuery("select nom,prenom,licence,equipe,logo from JOUEUR WHERE equipe ='"+nomEquipe+"'");

			while (resultat.next()) {
				Joueur joueur = new Joueur();

				String nom = resultat.getString("nom");
				String prenom = resultat.getString("prenom");
				String licence = resultat.getString("licence");
				String adressePhoto = resultat.getString("logo");

				joueur.setNameJoueur(nom);
				joueur.setPrenomJoueur(prenom);
				joueur.setNumeroLicence(Integer.parseInt(licence));
				joueur.setNameEquipe(nomEquipe);
				joueur.setAdressePhoto(adressePhoto);

				ListeJoueur.add(joueur);

			}

			return ListeJoueur;
		} catch (SQLException exception) {
			exception.printStackTrace();
			return Collections.emptyList();
		}
	}


	@Override
	public void enregistrerjoueur(Joueur joueur) {
		try {
			// connection
			Statement statement = connectionDataSource.createStatement();
			
			// resultat
			statement.executeUpdate("insert into JOUEUR(nom,prenom,licence,equipe,logo) values ('" + joueur.getNameJoueur()+ "','" + joueur.getPrenomJoueur()+ "','" + joueur.getNumeroLicence()+ "','" + joueur.getNameEquipe()+ "','" + joueur.getAdressePhoto()+ "')");
				
		}catch (SQLException exception) {
		}
	}
	
	public void supprimerJoueur(int numeroeDeLicence) {
		try {
			// connection
			Statement statement = connectionDataSource.createStatement();
			
			// resultat
			statement.executeUpdate("delete from JOUEUR where licence='"+numeroeDeLicence+"'");
				
		}catch (SQLException exception) {
			exception.printStackTrace();
		}
	}

}
